|
Command: |
Validate a signature on a message using a public key. |
|
Notes: |
This command requires the optional RSA licence, error code 67 will be returned if the command is not licenced. See: Using the RSA cryptosystem for details of where valid values of the common parameters can be found. |
|
Field |
Length & Type |
Details |
|
COMMAND MESSAGE |
||
|
Message header |
m A |
(Subsequently returned to the Host unchanged). |
|
Command code |
2 A |
Value EY. |
|
Hash identifier |
2 N |
Identifier of the hash algorithm used to hash the message. |
|
Signature Identifier |
2 N |
Identifier of the signature algorithm used to sign the message. |
|
Pad mode identifier |
2 N |
Identifier of the pad mode used in signature generation. 01 = PKCS#1 v1.5 method |
|
Mask Generation Function |
2N |
01 = MGF1 as defined in PKCS#1 v2.0 (see Reference 3) Optional, only present if PAD Mode Identifier is 02 (OAEP) |
|
MGF Hash Function |
2N |
01 = SHA-1 |
|
OAEP Encoding Parameters Length |
2N |
Optional, only present if Pad Mode Identifier is 02 (OAEP). |
|
OAEP Encoding Parameters
|
nB |
Optional, only present if Pad Mode Identifier is 02 (OAEP) If present, this field should be encoded according to Reference 3 section 11.2.1. The HSM does not interpret or validate the contents of this field. If OAEP padding is used, but no Encoding Parameters are provided, then OAEP Parameters Length should be “00”, and this field will be empty. |
|
OAEP Encoding Parameters Delimiter |
1A |
Value “;”. Optional, only present if Pad Mode Identifier is 02 (OAEP) |
|
Signature length |
4 N |
Signature length (in bytes). |
|
Signature |
n B |
Signature to be verified. |
|
Delimiter |
1 A |
Delimiter, indicates the end of the signature field. Value “;”. |
|
Data length |
4 N |
Length (in bytes) of the message data to be validated. |
|
Message data |
n B |
Data to be validated. |
|
Delimiter |
1 A |
Delimiter, indicates the end of the message data field. Value “;”. |
|
MAC |
4 B |
MAC on the public key and authentication data, calculated using LMK pair 36-37. |
|
Public key |
n B |
Public key, DER encoded in ASN.1 format (sequence of modulus, exponent). |
|
Authentication data |
n B |
Optional. Additional data to be included in the MAC calculation (must not include “;”). |
|
End message delimiter |
1 C |
Optional. Must be present if a message trailer is present. Value X’19. |
|
Message trailer |
n A |
Optional. Maximum length 32 characters. |
|
Field |
Length & Type |
Details |
|
RESPONSE MESSAGE |
||
|
Message header |
m A |
Returned to the Host unchanged. |
|
Response code |
2 A |
Value EZ. |
|
Error code |
2 N |
00 : No error 01 : MAC verification failure 02 : Signature verification failure 04 : Public key does not conform to encoding rules 05 : Invalid hash identifier 06 : Invalid signature identifier 07 : Invalid pad mode identifier 13 : LMK error; report to supervisor 15 : Error in input data 47 : DSP error; report to supervisor 74 : Invalid digest info syntax (no-hash mode only) 76 : Public key length error 77 : Clear data block error 79 : Hash algorithm object identifier error 80 : Message length error 81 : Signature length error 85 : Invalid OAEP Mask Generation Function 86 : Invalid OAEP MGF Hash Function 87 : OAEP Parameter Error 88 : OAEP Error |
|
End message delimiter |
1 C |
Present only if present in the command message. Value X’19. |
|
Message trailer |
n A |
Present only if present in the command message. Maximum length 32 characters. |
Example
Command Request:
EY0301010040<6F3291898D0488CB52478A84628596617CE7F92BB22724771072F0885F823C5210A
EDA2CAE0A6848>;0003<616263>;<60973C58><302F0228B4FA9DC06844F408116C0B8EF7D104659
3F73FB44F432E3732891C4E75F5C0EA07D968D2FFB5E6250203010001><41555448454E2D4441544
1>
Command Response:
EZ00